AutoCAD .Net二次开发之Editor选择集

您所在的位置:网站首页 pickfrist 翻译 AutoCAD .Net二次开发之Editor选择集

AutoCAD .Net二次开发之Editor选择集

2024-07-10 19:38| 来源: 网络整理| 查看: 265

AutoCAD .Net二次开发之Editor选择集 PickFirst选择集一般选择集选择集过滤SelectionFilter

Editor的路径: Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor

PickFirst选择集

Editor.SelectImplied() —获取命令执行前所选择的选择集(PickFirst选择集)

使用PickFirst选择集系统变量PICKFIRST必须设置为1 使用PickFirst选择集的命令必须定义好UsePickSet命令标志

Editor.SetImpliedSelection() —设置PickFirst选择集

一般选择集

Editor.GetSelection() —提示用户从屏幕拾取对象 Editor.SelectAll() —选择当前空间内所有未锁定及未冻结的对象 Editor.SelecCrossingPolygon() —选择由给定点定义的多边形内的所有对象以及与多边形相交的对象

边界多边形不能自交

Editor.SelectWindow() —选择完全框入由两个点定义的矩形内的所有对象 Editor.SelectCrossingWindow() —选择由两个点定义的窗口内的对象以及与窗口相交的对象 Editor.SelectWindowPolygon() —选择完全框入由点定义的多边形内的对象

边界多边形不能自交

!!! 一般选择集方法,传入的点被用作为UCS点,如果是其他坐标系下的点坐标,需转为UCS,再传入方法; 还有就是,选择集进行选择时,所参照的平面是当前视口的方向,也就是用户观察模型空间的方向,以这个方向做法线生成的一个平面,已定义好的选择区域会向这个平面做映射,以这个映射过来的图形作最终的选择区域,视口方向为轴,进行选择。 !!! 这就会导致一个问题,一般选择集我们不能自由控制选择的方向,我所采取的解决方法是临时改变视口方向

Editor edit = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; ViewTableRecord VTR = edit.GetCurrentView(); Vector3d oldDirection = VTR.ViewDirection; VTR.ViewDirection = SFD.Normal;//将当前视口调整到想要进行选择的一个方向 edit.SetCurrentView(VTR); 选择集过滤SelectionFilter TypedValue[] tv = new TypedValue[]{new TypedValue(typeCode,”LINE”)}; SelectionFilter sf = new SelectionFilter(tv);

具体请参考https://blog.csdn.net/zhd18/article/details/78726469



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3